﻿using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace Nirvana
{
    /// <summary>
    /// 用于enum映射label注释，以label显示enum的名称，
    /// 用法：[EnumLabel("关闭")] ,对应的enum则显示"关闭"标签来代表enum的值
    /// 可以在不使用汉字明释的enum属性里面，简单明了的显示中文意思，同时，enum的值保留英文字符，避免解码问题
    /// </summary>
    [AttributeUsage( AttributeTargets.Enum |  AttributeTargets.Field )]
    public class EnumLabelAttribute : PropertyAttribute
    {
        private string label;
        private int[] enumOrders = new int[0];
        public string Label { get { return label; } }
        public int[] EnumOrder { get { return enumOrders; } }
        public EnumLabelAttribute() { }
        public EnumLabelAttribute(string label) {
            this.label = label;
        }

        public EnumLabelAttribute(string label, params int[] enumOrder)
        {
            this.label = label;
            this.enumOrders = enumOrder;
        }


    }
}

